<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="d" uri="http://dgg.net/jsp/jstl/core" %>

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>部门生产订单</title>
    <c:import url="../../header.jsp"/>
    <link rel="stylesheet" href="${rootUrl}/static/css/time-status-color.css?v=${version}">
    <script> var ALLOT_REFUSED = '${ALLOT_REFUSED}';</script>
    <style>
        table.crm-table.cell-border tbody td{
            white-space: nowrap;
        }
    </style>
</head>
<body>
<div class="body-main">
    <form action="" id="deptScOrderForm">
    <div class="titleSearch">
        <div class="layui-inline">
            <label>客户电话：</label>
            <div class="layui-input-inline">
                <input name="customerPhone" type="text" class="input-style" maxlength="50"
                       placeholder="请输入客户电话">
            </div>
        </div>
        <div class="layui-inline">
            <label>业务类型：</label>
            <div class="layui-input-inline">
                <div id="business_typeCode">
                    <input type="hidden" name="businessType" class="plug-in-msg"/>
                    <input type="hidden" name="typeCode" id="typeCode" class="plug-in-code"/>
                    <input type="text" readonly placeholder="请选择业态" class="chose-plugIn layui-input"
                           name="businessTypeName">
                    <div class="bus-picker">
                        <div class="bus-picker-tab">
                            <a href="javascript:void(0);" class="active">请选择业态</a>
                        </div>
                        <div class="bus-picker-content"></div>
                    </div>
                </div>
            </div>
        </div>
          <div class="layui-inline">
            <label>订单来源：</label>
            <div class="layui-input-inline">
                      <select class="select-style" id="signOrgId" name="signOrgId">
                        </select>
            </div>
        </div>
          <div class="layui-inline">
            <label>流程人员：</label>
            <div class="layui-input-inline">
                      <select  id="flowUserId" name="flowUserId" class="flowUserIdChooseUser">
                          <option value="">--请选择--</option>
                        </select>
            </div>
        </div>
        <div class="layui-inline">
            <label>协单人员：</label>
            <div class="layui-input-inline">
                <select   name="assistId" class="assistId">
                    <option value="">--请选择--</option>
                </select>
            </div>
        </div>
          <div class="layui-inline">
            <label>当前完成节点：</label>
            <div class="layui-input-inline">
                      <select class="select-style" id="successFlowNodeId" name="successFlowNodeId">
                        <option value>请选择</option>
                    <c:forEach var="listNode" items="${listNode}">
                        <option value="${listNode.name}">${listNode.name}</option>
                    </c:forEach>
                        </select>
            </div>
        </div>
         <div class="layui-inline">
            <label>订单状态：</label>
            <div class="layui-input-inline">
                      <select class="select-style" id="orderStatus" name="orderStatus" >
                        </select>
            </div>
        </div>
           <div class="layui-inline">
            <label>超期状态：</label>
            <div class="layui-input-inline">
                 <select  id="SQSTATUS" name="SQSTATUS">
                    <option value="">--请选择--</option>
                      	<option value="OUT_TIME_STATE1">--接收超期--</option>
                      		<option value="OUT_TIME_STATE2">--分配超期--</option>
                      		<option value="OUT_TIME_STATE3">--节点超期--</option>
                      		<option value="OUT_TIME_STATE4">--订单超期--</option>
                            <option value="OUT_TIME_STATE5">--合同超期--</option>
                        </select>
            		</div>
            </div>
        <div class="layui-inline">
            <label>关键字：</label>
            <div class="layui-input-inline">
                <input name="searchKey" type="text" class="input-style" maxlength="50" style="width:300px"
                       placeholder="客户名/订单编号/生产订单编号/企业名称/合同编号">
            </div>
        </div>
        <div class="layui-inline">
            <label>完结时间：</label>
            <div class="layui-input-inline">
                <input style="width: 120px" type="text" name="completedTimeStart" placeholder="开始时间" class="Wdate input-style" id="completedTimeStart"
                       onfocus="var endDate=$dp.$('completedTimeStart'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
            </div>
            <div class="layui-input-inline">
                <input style="width: 120px" type="text" name="completedTimeEnd" placeholder="结束时间" class="Wdate input-style" id="completedTimeEnd"
                       onfocus="var endDate=$dp.$('completedTimeEnd'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
            </div>
        </div>
        <div class="layui-inline">
            <label>结项时间：</label>
            <div class="layui-input-inline">
                <input style="width: 120px" type="text" name="overEndTimeStart" placeholder="开始时间" class="Wdate input-style" id="overEndTimeStart"
                       onfocus="var endDate=$dp.$('overEndTimeStart'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
            </div>
            <div class="layui-input-inline">
                <input style="width: 120px" type="text" name="overEndTimeEnd" placeholder="结束时间" class="Wdate input-style" id="overEndTimeEnd"
                       onfocus="var endDate=$dp.$('overEndTimeEnd'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
            </div>
        </div>
           <div class="layui-inline">
            <button class="layui-btn layui-btn-mini layui-btn-normal" type="button" onclick="deptDataTableReload()">搜索</button>
            <button class="layui-btn layui-btn-mini layui-btn-primary" type="button" onclick="cleanSearch()">清空</button>
            <button class="layui-btn layui-btn-mini layui-btn-green" type="button" onclick="exportData()">导出</button>
           </div>
    </div>
    </form>
     </div>
       </div>
       <div class="table-conter">
            <a href="javascript:void(0)" class="layui-btn layui-btn-mini" onclick="callPhoneByProductionPage()">打电话</a>
      				  <%--<a href="javascript:void(0)" class="layui-btn layui-btn-mini" onclick="devolveonOrderPage()">移交</a>--%>
           <a href="javascript:void(0)" class="layui-btn layui-btn-mini" onclick="turnoverProductOrder('deptScOrderJsonTable','')">移交</a>
              <div class="fr">
                <span class="bgGreen">分配超期</span>
               <span class="bgYellow">接收超期</span>
            <span class="bgBlue">节点超期</span>
            <span class="bgRed">订单超期</span>
                  <span class="bgBlueGreen">合同超期</span>
        </div>
            </div>
    <div class="table-body">
        <!--表格 start-->
        <table id="deptScOrderJsonTable" class="cell-border crm-table columnsHidden dataTable">
            <thead>
            <tr>
                <th width="20"><input type="checkbox" class="checkall"/></th>
                <th width="50">序号</th>
                <th>订单来源</th>
                <th>生产订单编号</th>
                <th>订单编号</th>
                <th>合同编号</th>
                <th>客户</th>
                <th>完成节点</th>
                <th>业务类型</th>
                <th>订单产品</th>
                <th>销售订单备注</th>
                <th>签单时间</th>
                <th>最新备注</th>
                <th>签单商务</th>
                <th>流程人员</th>
                <th>生产负责人</th>
                <th>协单人员</th>
                <th>企业名称</th>
                <th>合同金额</th>
                <th>合同周期</th>
                <th>完结时间</th>
                <th>结项时间</th>
                <th width="80px;">订单状态</th>
            </tr>
            </thead>
            <tbody>

            </tbody>
        </table>
        <!--表格 end-->
    </div>
</div>
<c:import url="/WEB-INF/jsp/footer.jsp"/>
<script type="text/javascript">
    var NORMAL = '${NORMAL}', TIME_OUT = '${TIME_OUT}';
</script>
<script type="text/javascript"
        src="${basePath}/static/js/choose.extend.js?v=${version}"></script>
<script type="text/javascript" src="${basePath}/static/js/zzsc/production/sc_common.js?v=${version}"></script>
<script type="text/javascript" src="${basePath}/static/js/zzsc/common/call_common.js?v=${version}"></script>
<script type="text/javascript" src="${basePath}/static/js/zzsc/inprocess/inprocess_list.js?v=${version}"></script>
<script src="${rootUrl}/static/js/zzsc/common/sc_chooseUser.js?v=${version}" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
Plug.plug_in("post", "${basePath}/zzsc/common/tree_book_list.do?code=BUS_YT_ZZ&&type=2&&level=3", "#business_typeCode", '选择业态', '', true, 'BUS_YT_ZZ', '', '');
</script>
<script type="text/javascript">
	var deptScOrderTableObj;
$(function(){
	syb("#signOrgId");//初始化事业部
	
	commonTreeBookCode("#orderStatus","ZZSC_PRODUCT_STATUS",1,1,1,true);//初始化订单状态
	
	
	//初始化分配人员选择
    chooseUserPlug.init($('.flowUserIdChooseUser'),{
        url:sysInfo.basePath+'/zzsc/common/find_user_choose.do',
        // multiple:true,// 单选false或不写该参数，多选true
        otherParam:{
            /**
             * type: 用户信息选择类型（必填）
             *       all:全部用户，division：当前登录人所在事业部，department:当前登录人所在部门及以下，role: 查询指定角色用户，
             * roleCode : 角色Code，（type为role时，必填）
             * locked: 用户状态，（选填，默认全部状态）
             *      0、正常；1、锁定；2、离职
             */
            type:'division',
            locked:0
        }
    });
    //初始化协单人员
    chooseUserPlug.init($('.assistId'),{
        url:sysInfo.basePath+'/zzsc/common/find_user_choose.do',
        otherParam:{
            /**
             * type: 用户信息选择类型（必填）
             *       all:全部用户，division：当前登录人所在事业部，department:当前登录人所在部门及以下，role: 查询指定角色用户，
             * roleCode : 角色Code，（type为role时，必填）
             * locked: 用户状态，（选填，默认全部状态）
             *      0、正常；1、锁定；2、离职
             */
            type:'division',
            locked:0
        }
    });
});
// 移交
function devolveonOrderPage() {
    var dataArr = $('#deptScOrderJsonTable').dataTableExtend('getCheck');
    if (dataArr.length == 0) {
    	 DGG.Warning('请选择一条订单');
        return false;
    }
    if (dataArr.length > 1) {
    	 DGG.Warning('只能选择一条订单');
        return false;
    }
    
    devolveonOrderAjaxSubmit(dataArr[0].id);
}
// 弹出移交
function devolveonOrderAjaxSubmit(id) {
    DGG.loading();
   $.post(sysInfo.basePath + "/sc/receives/devolveonOrderPage.html",{id:id},function(html){
	     DGG.Open({
            content:html,
            title:"订单移交",
            area:'400px',
            yes:function(index,layero){
            	 DGG.loading();	
            	 var return_remark = $("#devolveon_order_remark").val();
            	 if(return_remark.length>200){
            		 DGG.Warning("备注内容不能超过200字");
					 DGG.loading("close");	
					return false; 
            	 }
				var param =$("#devolveonOrderBoxForm").serializeObject();//获取退回参数
				param.id=id;
				$.post(sysInfo.basePath+"/sc/receives/devolveon_order.do",param,function(result){
					if(result.code==0){
						DGG.Succeed('移交成功');
						deptScOrderTableObj.ajax.reload();
						layer.close(index);
						DGG.loading("close");	
					}else{
						DGG.Errors(result.msg);
						DGG.loading("close");	
					}
				},'json');
            }
        }) 
	   
   },'html');
}
/*
 * 刷新表格
 */
function deptDataTableReload(){
    deptScOrderTableObj.ajax.reload();
}

    //导出数据
    function exportData() {
        var paras = $('.titleSearch').serialize2object();
        if (Object.keys(paras).length == 0) {
            DGG.Warning('请加入搜索条件后导出！');
            return;
        }
        $.extend(paras, {type: $(".title-tab").find("a.active").attr("data-status")});
        exportDataAbandoned('/sc/all/export_product_order.do', paras);
    }

// 打电话
function callPhoneByProductionPage() {
    var dataArr = $('#deptScOrderJsonTable').dataTableExtend('getCheck');
    if (dataArr.length == 0) {
    	 DGG.Warning('请选择一条订单');
        return false;
    }
    if (dataArr.length > 1) {
    	 DGG.Warning('只能选择一条订单');
        return false;
    }
    callPhoneByProduction(dataArr[0].id);
}
    function export_data() {
        export_table('/sc/general/allotScOrder/export.do', getSearchData());
    }

    // 获取搜索数据
    function getSearchData() {
    	  return $("#deptScOrderForm").serializeObject();
    }

    $(document).ready(function () {
        //初始化dataTable列表
		//初始化dataTable列表
        deptScOrderTableObj = $('#deptScOrderJsonTable').dataTableExtend({
            "ajax": {"url": "${basePath}/sc/all/deptScOrderJson.do", "type": "post"},
            "fnServerParams": function (aoData) {
                aoData = $.extend(aoData,$("#deptScOrderForm").serializeObject());
                return aoData;
            },
            "scrollX": "true",//是否开启横项滚动
            "fixedColumns": {//锁定列，只有开启scrollX时才生效
                "leftColumns": 4,//左侧锁定2列
                "rightColumns": 1//右侧锁定1列
            },
            "aoColumns": [
                {
                    "orderable": false,
                    "data": "id",
                    "render": function (data, type, full, meta) {
                        return '<input type="checkbox"  name="ids" class="checkchild"  value="' + data + '" />';
                    }
                }
                , {
                    "orderable": false,
                    "render": function (data, type, full, meta) {
                        return meta.row + 1;
                    }
                }, {
                    "orderable": false,
                    "data": "signOrgName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "scProductOrderNo",
                    "render": function (data, type, full, meta) {
                        var result ="";
                        result += '<a href="javascript:;"  class="layui-table-link" onclick="openOrderInfoDetail(\'' + full.scProductOrderNo + '\',\'' + full.id + '\')" /><p>' + data + '</p></a>';
                        return result;
                    }
                }, {
                    "orderable": false,
                    "data": "orderNo",
                    "render": function (data, type, full, meta) {
                   	 return ('<a href=\'javascript:void(0)\' ti  onclick="openBusinessDetail(\'' + full.orderNo + '\',\'' + full.orderId + '\')" /><span class="layui-table-link">' + data + '</span></a>&nbsp;');
                    }
                },
                {
                    "orderable": false,
                    "data": "contractNo",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "customerName",
                    "render": function (data, type, full, meta) {
                   	  return emptyStringConvert(full.customerName) + '<p>' + emptyStringConvert(full.customerPhone) + '</p>';
                    }
                },
                {
                    "orderable": false,
                    "data": "latestEndNodeName",
                    "render": function (data, type, full, meta) {
                    	 return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "businessProductName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "productName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "orderRemark",
                    "render": function (data, type, full, meta) {
                        if(data){
                            return  '<div class="line2" style="min-width: 120px" title="'+data+'">'+data+'</div> ';
                        }else{
                            return '';
                        }
                    }
                },
                {
                    "orderable": true,
                    "data": "signTime",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },{//最新备注时间
                    "orderable": true,
                    "data": "lastRemarkTime",
                    "render": function (d, type, r) {
                        (d==null)&&(d='');
                        (r.lastRemark==null)&&(r.lastRemark='');
                        (r.lastUser==null)&&(r.lastUser='');
                        return '<div class="line2" style="min-width: 120px" title="'+r.lastRemark+'">'+r.lastRemark+'</div> '
                            + '<p>' + r.lastUser + '</p>'+ '<p>' + d + '</p>';
                    }
                },
                {
                    "orderable": false,
                    "data": "signUserName",
                    "render": function (data, type, full, meta) {
                        return data+'<p>'+full.signUserOrgName+'</p>';
                    }
                },{
                    "orderable": false,
                    "data": "flowUserName",
                    "render": function (data, type, full, meta) {
                        	if(data) {
                                return data + '<p>' + full.flowUserOrgName + '</p>';
                            }else{
                        		return '';
                        	}
                        }
                },{
                    "orderable": false,
                    "data": "productUserName",
                    "render": function (data, type, full, meta) {
                        if(data) {
                            return full.productUserName+'<p>'+full.productUserOrgName+'</p>';
                        }else{
                            return '';
                        }
                    }
                }, { //协单人员
                    "sClass": "hoverProcess",
                    "orderable": false,
                    "data": "assistUserName",
                    "render": function (d, type, r) {
                        var names = '';
                        if (d) {
                            var split = d.split(",");
                            names = '<span>' + split[0] + '</span>';
                            if (split.length > 1) {
                                names += '<i>...</i>'
                            }
                        }
                        return names;
                    }
                },{
                    "data": "companyName",
                    "orderable": false,
                    "render": function (data, type, full, meta) {
                        (data==null)&&(data='');
                        return '<div class="line2" style="min-width: 50px" title="'+data+'">'+data+'</div> ';
                    }
                },{
                    "orderable": false,
                    "data": "money"
                },
                {
                    "orderable": false,
                    "data": "contractStartDate",
                    "render": function (data, type, full, meta) {
                        return data ? data.replace(new RegExp("-",'g'),"")+"-"+full.contractEndDate.replace(new RegExp("-",'g'),"") : '';
                    }
                }, {
                    "orderable": false,
                    "data": "completedTime",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "overEndTime",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "status",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }],
            "columnDefs": [{
                targets: [3], //第1，2，3列
                createdCell: function (td, cellData, rowData, row, col) {
                    if(rowData.contractTimeStatus=='${TIME_OUT}'){
                        $(td).parent().addClass("bgBlueGreen");//合同超期
                        return;
                    }else if(rowData.orderTimeStatus=='${TIME_OUT}'){
                 		 $(td).parent().addClass("bgRed");//订单超期
                 		return;
            	 	}else if(rowData.nodeTimeStatus=='${TIME_OUT}'){//节点超期
            	 		$(td).parent().addClass("bgBlue");
            	 		
            	 	}else if(rowData.receiveTimeStatus=='${TIME_OUT}'&&rowData.status=='分配待接收'){//接收超期
            			$(td).parent().addClass("bgYellow");
            	 		return;
            	 	}else if(rowData.distributionTimeOutStatus=='${TIME_OUT}'&&rowData.status=='下单待分配'){//分配超期
            	 		 $(td).parent().addClass("bgGreen");//分配
                 		return;
            	 	}
                }
            }]
        });
    });
    //协单人员展示相关
    $(document).on('mouseenter', '.hoverProcess', function () {
        var datas = deptScOrderTableObj.cell(this).data();
        if (datas == undefined) {
            return false;
        }
        datas = datas.split(",");
        var _top = $(this).offset().top + $(this).height() + 'px',
            _left = $(this).offset().left + 'px';
        if (datas != undefined && datas.length > 1) {
            var htm = '<div class="process-relative" id="processRel" style="top:' + _top + ';left:' + _left + '">'
            for (var i in datas) {
                htm += '<p class="line2">' + datas[i] + '</p>';
            }
            htm += '</div>'
        }
        $('#processRel').remove();
        $('body').append(htm)
    });
    $(document).on('mouseleave', '#processRel', function () {
        $('#processRel').remove();
    });
    $(document).on('click', function (e) {
        var case1 = $(e.target).parents('.hoverProcess').length,
            case2 = $(e.target).hasClass('.hoverProcess'),
            case3 = $(e.target).parents('#processRel').length;
        if (case3 != 1) {
            $('#processRel').remove();
        }
    });
</script>
</body>

</html>